Skip to content

feat(web): adopt BaseUI with host-owned theming - #888

Open
mnoah1 wants to merge 7 commits into
mainfrom
mnoah1/web-baseui
Open

mnoah1 wants to merge 7 commits into
mainfrom
mnoah1/web-baseui

Conversation

@mnoah1

@mnoah1 mnoah1 commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Replace native controls and tables in the SubmitQueue and Stovepipe views with BaseUI. Hosts own providers, themes, and Styletron SSR/hydration; BaseUI and Styletron React are peers.

Use BaseUI props for full-width layout with small gutters and responsive behavior. The stylesheets retain only one rule for wrapping long identifiers and errors; scrolling tables support keyboard access.

Test plan

  • All 33 targets passed: ./tool/bazel test //web:check //web/test/e2e/stovepipe:web_test //web/test/e2e/submitqueue:web_test --test_env=SKIP_CLEANUP=false --test_output=errors
  • make fmt lint check-tidy check-gazelle
  • Run locally: make local-stovepipe-web-start, then open the printed URL (credentials: test/test).

@mnoah1
mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners October 19, 2026 19:24
@mnoah1
mnoah1 force-pushed the mnoah1/web-baseui branch 2 times, most recently from 997ac7f to ba1e49f Compare October 19, 2026 20:09
@mnoah1
mnoah1 force-pushed the mnoah1/web-baseui branch from ba1e49f to 20fd875 Compare October 19, 2026 20:16
behinddwalls and others added 6 commits October 20, 2026 13:30
# Conflicts:
#	web/stovepipe/view/app.test.tsx
#	web/stovepipe/view/app.tsx
#	web/stovepipe/view/styles.css
#	web/test/e2e/stovepipe/stovepipe.spec.ts
baseui hard-depends on react-map-gl for its map-marker component, which pulls in mapbox-gl@1.13.3. Its non-SPDX license field ("SEE LICENSE IN LICENSE.txt") fails the license scan. Nothing in web/ imports baseui/map-marker, so a pnpm override removes react-map-gl, mapbox-gl and their 31 transitive packages from the lockfile.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
baseui hard-depends on d3 for its data-table component, which pulls in robust-predicates@3.0.3 under the Unlicense, the only license in the new dependency tree that main does not already carry. Nothing in web/ imports baseui/data-table and baseui's root index does not load it, so the pnpm override now removes d3 and its 30 transitive packages as well.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
baseui 18.2.0 is the latest release and matches the BaseUI source the internal web monorepo builds against. The libraries' peer range (>=16 <19) already admits it. Its dependency set is unchanged from 16.1.1; re-resolving it moves axe-core to 4.14.0 and drops a duplicate @babel/runtime. No overrides are added.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants